/*
//              INTEL CORPORATION PROPRIETARY INFORMATION
//  This software is supplied under the terms of a license  agreement or
//  nondisclosure agreement with Intel Corporation and may not be copied
//  or disclosed except in  accordance  with the terms of that agreement.
//    Copyright (c) 2006-2007 Intel Corporation. All Rights Reserved.
//
*/
#include "umc_defs.h"
#if defined (UMC_ENABLE_DV_VIDEO_ENCODER)

#ifndef __BLOCK_H
#define __BLOCK_H

#include "ippdefs.h"

namespace UMC
{

#pragma pack(1)

struct BLOCK
{
    Ipp16s *m_lpsData;                               // (Ipp16s *) pointer to buffer for block data
    union
    {
        Ipp8u m_cIndex;                              // (Ipp8u) index of last element in block
        Ipp8u m_cM0;                                 // (Ipp8u) class of block
    };
    union
    {
        Ipp8u m_cRemainBits;                         // (Ipp8u) count of remain bits, not enough for code
        Ipp8u m_cC1C0;                               // (Ipp8u) quantization class of block
    };
    Ipp16u m_sBits;                                  // (Ipp16u) remain bits
    Ipp32u *m_lpsDataRL;
    struct BLOCK *m_lpNext;                          // (BLOCK *) pointer to next block
};

#pragma pack()

}// namespace UMC

#endif //__BLOCK_H

#endif //(UMC_ENABLE_DV_VIDEO_ENCODER)
